fcfefd81b451035db86a11e7de0438834a4dd471,hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java,Canary,sniffRegion,#HBaseAdmin#Sink#HRegionInfo#HTable#,256
Before Change
for (HColumnDescriptor column : tableDesc.getColumnFamilies()) {
stopWatch.reset();
byte [] startKey = region.getStartKey();
if (startKey == null || startKey.length <= 0) {
// Can't do a get on empty start row so do a Scan of first element if any instead.
Scan scan = new Scan();
scan.addFamily(column.getName());
scan.setBatch(1);
ResultScanner scanner = null;
try {
stopWatch.start();
scanner = table.getScanner(scan);
scanner.next();
stopWatch.stop();
sink.publishReadTiming(region, column, stopWatch.getTime());
} catch (Exception e) {
sink.publishReadFailure(region, column, e);
} finally {
if (scanner != null) scanner.close();
}
} else {
Get get = new Get(region.getStartKey());
get.addFamily(column.getName());
try {
stopWatch.start();
table.get(get);
After Change
// Can't do a get on empty start row so do a Scan of first element if any instead.
if (startKey.length > 0) {
get = new Get(startKey);
get.addFamily(column.getName());
} else {
scan = new Scan();
scan.setCaching(1);